Expand description

Provides abstractions for implementing:

  • Audio processing nodes
  • MIDI processing nodes
  • Audio buffers

An audio processor implemented with these traits may work with multiple sample types, audio buffer types and audio processing back-ends.

Start looking at AudioProcessor, then have a look at AudioBuffer and MidiEventHandler.

Running the audio processors as CLIs, GUIs, VSTs or CPAL threads

See [audio_processor_standalone]

Running a graph of audio processors

See [audio_processor_graph]

AudioProcessor implementations

See: https://github.com/yamadapc/augmented-audio/

Re-exports

pub use num;
pub use audio_buffer::AudioBuffer;
pub use audio_buffer::InterleavedAudioBuffer;
pub use audio_buffer::OwnedAudioBuffer;
pub use audio_buffer::VecAudioBuffer;
pub use midi::MidiEventHandler;
pub use midi::MidiMessageLike;
pub use midi::NoopMidiEventHandler;
pub use simple_processor::BufferProcessor;
pub use simple_processor::SimpleAudioProcessor;

Modules

Atomic F32 implementation with num trait implementations
Provides an abstraction for audio buffers that works for [cpal] and vst layouts
Provides an abstraction for MIDI processing that works for stand-alone and vst events
Parameters for AudioProcessor Provides a basic mechanism for defining float parameters and modifying them through introspection at runtime.
Simpler audio processor trait, ingesting sample by sample Provides what is in some cases a simpler form of expressing signal processing.

Structs

Simple atomic floating point variable with relaxed ordering.
Simple atomic floating point variable with relaxed ordering.
Options provided to the audio-processor before calling process.
An audio-processor which doesn’t do any work.
An audio-processor which mutes all channels.

Traits

Represents an audio processing node.
Generic trait for floating point numbers
Auto-implemented object version of the audio-processor trait.
Auto-implemented object version of the audio-processor trait.
Defines an additive identity element for Self.